package com.battery.system.service.battery;

import java.util.List;

import com.battery.system.domain.BO.ItemsBO;
import com.battery.system.domain.Items;
import com.battery.system.domain.VO.ItemsVO;
import com.battery.system.service.IBaseService;

/**
 * 商品Service接口
 *
 * @author battery
 * @date 2021-01-22
 */
public interface IItemsService extends IBaseService<Items> {
    /**
     * 查询商品
     *
     * @param id 商品ID
     * @return 商品
     */
    public Items selectItemsById(String id);

    /**
     * 查询商品列表
     *
     * @param items 商品
     * @return 商品集合
     */
    public List<Items> selectItemsList(Items items);

    /**
     * 新增商品
     *
     * @param items 商品
     * @return 结果
     */
    public int insertItems(Items items);

    /**
     * 修改商品
     *
     * @param items 商品
     * @return 结果
     */
    public int updateItems(Items items);

    /**
     * 批量删除商品
     *
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public int deleteItemsByIds(String ids);

    /**
     * 删除商品信息
     *
     * @param id 商品ID
     * @return 结果
     */
    public int deleteItemsById(String id);

    /**
     * 设备申领-商品
     *
     * @param itemsBO
     * @return
     */
    List<ItemsVO> devApplyItemsList(ItemsBO itemsBO);

    /**
     * 校验商品名称是否重复
     *
     * @param itemName
     * @param purpose
     * @return
     */
    Items selectByNameAndPurpose(String itemName, Integer purpose);

    /**
     * 校验该设备类型是否已经选择
     *
     * @param devType
     * @param purpose
     * @return
     */
    Items selectByDevTypeAndPurpose(String devType, Integer purpose);

    /**
     * 上下架商品
     *
     * @param ids
     * @param on_off_status
     * @return
     */
    int onOffItems(String ids, Integer on_off_status);

    /**
     * 查询 在线采购 商品列表
     *
     * @param itemsBO
     * @return
     */
    List<ItemsVO> purchaseItemsList(ItemsBO itemsBO);

    /**
     * 查询 积分兑换 商品列表
     *
     * @param itemsBO
     * @return
     */
    List<ItemsVO> pointsExchangeItemsList(ItemsBO itemsBO);
}
